Media decoding is often performed by a central processing unit (CPU) of a computing device. While some computing devices, such as personal computers and laptops, commonly feature powerful CPUs, others, such as smart phones and tablets, are more likely to have lower performance CPUs. These lower performance CPUs may not be powerful enough to decode the media at an acceptable rate, especially while the CPUs are concurrently occupied with other processing jobs.
The load on the CPU can be reduced by offloading some of the decoding to a graphical processing unit (GPU). However, typical approaches to incorporating GPUs into the decoding process fail to take full advantage of high performance graphics technologies, which generally refers to specialized GPU technologies as opposed to merely mimicking CPU functionality on the GPU. Furthermore, these approaches require program code that implements the decoding process to be installed in a plug-in or application. It may be desirable to provide program code that incorporates the GPU into the decoding process, without these restrictions.